package collection;

import java.util.ArrayList;
import java.util.Collection;

/**
 * 集合受元素equals和toString方法影响的操作
 */
public class CollectionDemo2 {
    public static void main(String[] args) {
        Collection c = new ArrayList();
        c.add(new Point(1,2));
        c.add(new Point(2,3));
        c.add(new Point(4,5));
        c.add(new Point(6,7));
        c.add(new Point(8,9));
        c.add(new Point(1,2));
        /*
            集合重写了toString方法，格式:
            [元素1.toString(), 元素2.toString(), ....]
         */
        System.out.println(c);

        Point p = new Point(1,2);
        /*
            集合的remove方法删除元素时，是删除集合中与给定元素equals比较为true的元素。
            因此元素的equals方法对集合的remove产生影响
         */
        //对于List集合而言，重复的元素仅删除一次
        c.remove(p);//Point不重写equals则不会删除任何元素，重写则会删除
        System.out.println(c);
        /*
            boolean contains(Object o)
            判断当前集合是否包含给定元素，当集合中存在与给定元素equals比较为true的情况时
            集合认为包含该元素
         */
        boolean contains = c.contains(p);
        System.out.println("是否包含:"+contains);
    }
}
